#ifndef NETSTATITEMMODEL_H
#define NETSTATITEMMODEL_H

#include <QObject>
#include "listmodel.h"

class NetStatItemModel : public ListItem
{
    Q_OBJECT
public:
    NetStatItemModel(QObject *parent = 0): ListItem(parent) {}
    explicit NetStatItemModel ( QString &_nsNetstat,
                                QString &_nsPic,
                                QString &_nsSDesc,
                                QString &_nsLDesc,
                                QString &_procPath,
                                QString &_procName,
                                QString &_nsPid,
                                QString &_nsLAddr,
                                QString &_nsLPort,
                                QString &_nsFAddr,
                                QString &_nsFPort,
                                QObject *parent = 0 );

    ~NetStatItemModel();

    enum Roles {
        NetstatStat = Qt::UserRole+1,
        NetstatPic,
        NetstatSDescr,
        NetstatProcPath,
        NetstatProcName,
        NetstatPID,
        NetstatLAddr,
        NetstatLPort,
        NetstatFAddr,
        NetstatFPort,
        NetstatLDescr
    };

    inline QString nsStat() const { return ns_netstat; }
    inline QString nsPic() const { return ns_pic; }
    inline QString nsSDescr() const { return ns_sdescr; }
    inline QString nsProcPath() const { return ns_procpath; }
    inline QString nsProcName() const { return ns_procname; }
    inline QString nsPid() const { return ns_pid; }
    inline QString nsLAddr() const { return ns_laddr; }
    inline QString nsLPort() const { return ns_lport; }
    inline QString nsFAddr() const { return ns_faddr; }
    inline QString nsFPort() const { return ns_fport; }
    inline QString nsLDescr() const { return ns_ldescr; }

    QVariant data(int role) const;
    QHash<int, QByteArray> roleNames() const;
    
signals:
    
public slots:

private:
    QString ns_netstat; //состояние сетевого соединения
    QString ns_pic; //картинка приложения
    QString ns_sdescr; //описание состояния сетевого соединения (короткий вариант)
    QString ns_ldescr;  //описание состояния сетевого соединения (длинный вариант)
    QString ns_procpath; //процесс: путь+файл
    QString ns_procname; //имя процесса (из desktop файла)
    QString ns_pid; //pid процесса
    QString ns_laddr;
    QString ns_lport;
    QString ns_faddr;
    QString ns_fport;
    
};

#endif // NETSTATITEMMODEL_H
